A reverse-engineering approach to subsystem structure identification

نویسندگان

  • Hausi A. Müller
  • Mehmet A. Orgun
  • Scott R. Tilley
  • James S. Uhl
چکیده

SUMMARY Reverse engineering is the process of extracting system abstractions and design information out of existing software systems. This process involves the identiication of software artifacts in a particular subject system, the exploration of how these artifacts interact with one another, and their aggregation to form more abstract system representations that facilitate program understanding. This paper describes our approach to creating higher-level abstract representations of a subject system, which i n v olves the identiication of related components and dependencies, the construction of layered subsystem structures, and the computation of exact interfaces among subsystems. We show h o w top-down decompositions of a subject system can be reconstructed via bottom-up subsystem composition. This process involves identifying groups of building blocks e.g., variables, procedures, modules, and subsystems using composition operations based on software engineering principles such a s l o w coupling and high cohesion. The result is an architecture of layered subsystem structures. The structures are manipulated and recorded using the Rigi system, which consists of a distributed graph editor and a parsing system with a central repository. The editor provides graph lters and clustering operations to build and explore subsystem hierarchies interactively. The paper concludes with a detailed, step-by-step analysis of a 30-module software system using Rigi.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages

Reverse engineering of network applications especially from the security point of view is of high importance and interest. Many network applications use proprietary protocols which specifications are not publicly available. Reverse engineering of such applications could provide us with vital information to understand their embedded unknown protocols. This could facilitate many tasks including d...

متن کامل

Analysis of New Laser Warning Technologies to Propose a New Optical Subsystem

In this paper, after a brief overview on laser warning system (LWS), a new structure for an optical array that is used in its optical subsystem is introduced. According to the laser threats’ wavelengths (0.5 – 1.6 µm) and our desirable field of view (FOV), we used 6 lenses for gathering the incident radiation and then optimized the optical array. Lenses’ radius, their se...

متن کامل

An effective approach for damage identification in beam-like structures based on modal flexibility curvature and particle swarm optimization

In this paper, a computationally simple approach for damage localization and quantification in beam-like structures is proposed. This method is based on using modal flexibility curvature (MFC) and particle swarm optimization (PSO) algorithm. Analytical studies in the literature have shown that changes in the modal flexibility curvature can be considered as a sensitive and suitable criterion for...

متن کامل

Programmable Reverse Engineering

Program understanding can be enhanced using reverse engineering technologies. The understanding process is heavily dependent on both individuals and their speci c cognitive abilities, and on the set of facilities provided by the program understanding environment. Unfortunately, most reverse engineering tools provide a xed palette of extraction, selection, and organization techniques. This paper...

متن کامل

Mining Co-Change Clusters from Version Repositories

Clusters of software artifacts that are frequently changed together are subsystem candidates, because one of the main goals of software design is to make changes local. The contribution of this paper is a visualization-based method that supports the identification of such clusters. First, we define the co-change graph as a simple but powerful model of common changes of software artifacts, and d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Journal of Software Maintenance

دوره 5  شماره 

صفحات  -

تاریخ انتشار 1993